///////////////////////////////////////////////////////////////////////////////
// File:        Log.hpp
// Author:      671643387@qq.com
// Description: 
///////////////////////////////////////////////////////////////////////////////

#if !defined(SHARED_LOG_HPP_)
#define SHARED_LOG_HPP_

#if defined(_MSC_VER) && (_MSC_VER >= 1200)
# pragma once
#endif

#include <stdio.h>

///////////////////////////////////////////////////////////////////////////////

class Log
{
public:
    ///////////////////////////////////////////////////////////////////////////
    Log(void);
    ~Log(void);

public:
    ///////////////////////////////////////////////////////////////////////////
    void Info(const char* fmt, ...);
    void Basic(const char* fmt, ...);
    void Error(const char* fmt, ...);
    void Debug(const char* fmt, ...);

private:
    FILE *ifp_, *bfp_, *efp_, *dfp_;
};

///////////////////////////////////////////////////////////////////////////////

extern Log gLog;

#define INFO_LOG        gLog.Info
#define BASIC_LOG       gLog.Basic
#define ERROR_LOG       gLog.Error
#define DEBUG_LOG       gLog.Debug

#endif //SHARED_LOG_HPP_
